The typical home entertainment system consists of a variety of different consumer electronic devices which present and record audio/visual (AV) media in different ways. For instance, typical AV equipment found in a home includes a number of components such as a radio receiver/tuner, a compact disk (CD) player and/or a digital video disc player (DVD), a number of speakers, a television (TV), a video cassette recorder (VCR), a tape deck, and the like. In an analog system, each of these components are connected to each other via a set of wires. This conventional AV system paradigm has become quite popular and can be found in many homes.
In an analog system, one component is usually the controlling component of the AV system; for example, the tuner. The controlling component has a number of specific inputs for coupling with the other components. The controlling component also has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the components. A user controls the AV system by manipulating the buttons and switches on the front of the controlling component or, alternatively, by manipulating buttons on a hand-held remote control unit.
As consumer electronic devices become more capable and complex, the conventional (analog) AV system paradigm is being replaced with a digital AV network architecture for networking consumer electronic devices. The digital AV network architecture provides a powerful platform on which device functionality and interoperability can be built, and is capable of taking advantage of the increased sophistication and intelligence that is being incorporated into consumer electronic devices. Consequently, digital home networks are also becoming quite popular.
A communication standard, the IEEE 1394 standard, has been proposed and is being implemented to connect digital devices in a network using a serial bus and a standard communication protocol layer (e.g., the audio visual control [AV/C] protocol). The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices, thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications, thereby eliminating the need for an application to convert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data, not analog data, from the bus and will therefore not be required to convert analog data to digital form. The IEEE 1394 standard is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active.
In a digital home network, the underlying structure of the AV network consists of a set of interconnected consumer electronic devices (“target devices”) providing services to a single user or to multiple simultaneous users. A central component (e.g., a “controller”) can provide users with overall control and coordination of the network, although typically there is more than one controller/user interface for receiving user input and providing commands to the devices on the network.
The controller can be, for example, an intelligent device such as set-top box or a personal computer system. The controller can also be any one of the target devices with enough built-in intelligence for controlling the other devices in response to user input. Thus, for example, a TV can be used to control a VCR, or a set-top box can be used to control both the TV and the VCR. Similar to the analog system, a user controls the target devices by manipulating buttons and switches on the controller device or, alternatively, by manipulating buttons on a hand-held remote.
While there is some similarity in the way that analog and digital home networks are controlled, there are also several significant differences. Foremost, of course, is that the former uses analog signals for control, usually delivered via an infrared signal, while the latter uses digital signals that can be delivered using other means such as an IEEE 1394 cable. In addition, the commands and controls that can be asserted in an analog system are relatively limited in comparison to a digital system. For example, in the digital network, the controller can provide an on-screen display (e.g., a menu) of the various target devices connected to the network. The user can choose to connect with the various target devices by scrolling through the menu and making a selection. The user can also control the subunits that make up a target device. In general, the controller in a digital network provides the user with more options and a greater degree of control over the various devices in the network.
While a digital home network offers a number of advantages, there are also disadvantages associated with digital home networks. One disadvantage is associated with the complexity of the process used by the controller to connect with the various target devices. The target devices are versatile and typically multi-functional, and thus they may support many different types of connections within the home network. For example, AV/C devices (e.g., AV/C units) compliant with IEEE 1394 may have up to 31 external input plugs, 31 external output plugs, 31 serial bus input plugs, 31 serial bus output plugs, 31 subunit source plugs, 31 subunit destination plugs, 31 asynchronous input plugs, and 31 asynchronous output plugs. Moreover, there can be up to 32 different types of AV/C subunits in each AV/C unit, and five instances of each type, further increasing the number of possible connections. Thus, the controller must be configured to handle a large number of different connections.
In addition, the AV/C connection process itself can also be cumbersome and complex. Prior Art FIG. 1 shows the typical steps in a process 10 for connecting a target device to an IEEE 1394 home network and for establishing an active communication path between the target device and other devices on the network. (Note that the target device can be physically connected to the serial bus, but not connected with—in active communication with—the network or devices on the network.)
In step 1, the controller finds a particular target device; that is, it finds the target device's node identifier (node ID). In step 2, the controller finds information on the target device regarding the number of plugs, the types of plugs, and other like information needed for the connection. In step 3, the controller processes this information and connects the target device to the home network. In step 4, the controller allocates bandwidth on the serial bus to the target device, if bandwidth is available. If bandwidth is available, the controller allocates a channel to the target device; otherwise, a channel cannot be allocated.
In step 5, the controller sets the output Plug Control Register (oPCR), and in step 6, the controller sets the input Plug Control Register (iPCR). In step 7, the controller can then provide commands to the target device, such as “play” or “record,” depending on the intended role of the target device in the home network.
The connection process illustrated by Prior Art FIG. 1 can be problematic for a number of reasons. For one, the workload required by the controller is quite extensive. In the prior art, the controller is required to retrieve the connection information, analyze it, and store it in memory. Considering just the number of plugs that can be available on a target device (as described above), the amount of information that needs to be received and processed by the processor can be extensive. This problem is multiplied by the number of target devices present on the home network.
Consequently, the controller device is equipped with substantial processing and memory resources, which can drive up the cost of such a device. As mentioned above, in an IEEE 1394 network, any device that has sufficient resources can serve as a controller device. However, because of the processing and memory resources required, and in particular because of the expense, it is more likely that the typical consumer will have a single controller device. Consequently, the user cannot be as flexible as he or she might want to be when controlling the home network; that is, the user will likely have to control the network from a central location using a personal computer.
In addition, the amount of information that is delivered from the target device to the controller can consume some portion of the available bandwidth of the serial bus. There is a maximum rate at which the serial bus can carry data and information. When the connection information is being sent from each of the target devices to the controller, the amount of bandwidth available to other target devices is reduced. Conversely, it is also possible that there may not be sufficient bandwidth available to complete the connection process, or to complete the connection process in a timely manner.
Furthermore, it may happen that the controller receives and processes the connection information (as in steps 2 and 3 of process 10), but then cannot allocate sufficient bandwidth to the target device (as in step 4 of process 10). Thus, the controller will need to repeat the connection process until finally it is successful, further consuming the resources of both the network and the controller while also inconveniencing and frustrating the user who is attempting to make a connection to the target device.
Another problem associated with prior art home networks is that the output from target devices (such as VCRs) is generally sent to all output plugs. That is, owing to the complexity of the AV/C protocol, it is difficult to specify a particular output plug for the output to use, so instead the output signal is sent to all plugs, digital and analog (e.g., to the video out plug, the S-video output plug, the serial bus output plugs, and the RCA jack). Consequently, the digital output is still sent out over the serial bus even if another device on the home network is not an intended recipient of the output. Thus, the available bandwidth is needlessly consumed, reducing the bandwidth available for other devices and channels.
In summary, as described in conjunction with Prior Art FIG. 1, the responsibility for establishing a connections lies completely with the controller, leading to the problems and disadvantages described above.